package adv4;
import java.util.*;
/**
 * @author oldliu
 * @since 1.0
 */
public class Split {
    public static void main(String[] args) {
        Map<String,Integer> map=new HashMap<>();
        Scanner name=new Scanner(System.in);
        System.out.println("请输入一个字符串：");
        String b=name.next();

        // 使用String的split()方法将字符串b分割成字符数组，并赋值给变量c。
        String []c=b.split("");
        for(String s1:c){
//            if(map.containsKey(s1)){
//                map.put(s1,map.get(s1)+1);
//            }else{
//                map.put(s1,1);
//            }
            Integer i = map.getOrDefault(s1, 0);
            i++;
            map.put(s1, i);
        }
        System.out.println(map);
        //转换:Map->List
        List<Map.Entry<String,Integer>> list=new ArrayList<>(map.entrySet());
        Collections.sort(list,new T());
        System.out.println(list);
    }
}
//比较器接口
class T implements Comparator<Map.Entry<String,Integer>>{

    @Override
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
        return o2.getValue()-o1.getValue();
    }
}